<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.6"/>
<title>JSON Voorhees: Class Hierarchy</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
  $(document).ready(initResizable);
  $(window).load(resizeHeight);
</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
  $(document).ready(function() { searchBox.OnSelectItem(0); });
</script>
<script type="text/x-mathjax-config">
  MathJax.Hub.Config({
    extensions: ["tex2jax.js"],
    jax: ["input/TeX","output/HTML-CSS"],
});
</script><script src="http://www.mathjax.org/mathjax/MathJax.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td style="padding-left: 0.5em;">
   <div id="projectname">JSON Voorhees
   </div>
   <div id="projectbrief">Killer JSON for C++</div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.6 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
      <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
      <li><a href="modules.html"><span>Modules</span></a></li>
      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
      <li><a href="files.html"><span>Files</span></a></li>
      <li><a href="examples.html"><span>Examples</span></a></li>
      <li>
        <div id="MSearchBox" class="MSearchBoxInactive">
        <span class="left">
          <img id="MSearchSelect" src="search/mag_sel.png"
               onmouseover="return searchBox.OnSearchSelectShow()"
               onmouseout="return searchBox.OnSearchSelectHide()"
               alt=""/>
          <input type="text" id="MSearchField" value="Search" accesskey="S"
               onfocus="searchBox.OnSearchFieldFocus(true)" 
               onblur="searchBox.OnSearchFieldFocus(false)" 
               onkeyup="searchBox.OnSearchFieldChange(event)"/>
          </span><span class="right">
            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
          </span>
        </div>
      </li>
    </ul>
  </div>
  <div id="navrow2" class="tabs2">
    <ul class="tablist">
      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
      <li class="current"><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
    </ul>
  </div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
      <div id="nav-sync" class="sync"></div>
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('hierarchy.html','');});
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Friends</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(11)"><span class="SelectionMark">&#160;</span>Pages</a></div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div class="header">
  <div class="headertitle">
<div class="title">Class Hierarchy</div>  </div>
</div><!--header-->
<div class="contents">
<div class="textblock">This inheritance list is sorted roughly, but not completely, alphabetically:</div><div class="directory">
<div class="levels">[detail level <span onclick="javascript:toggleLevel(1);">1</span><span onclick="javascript:toggleLevel(2);">2</span><span onclick="javascript:toggleLevel(3);">3</span><span onclick="javascript:toggleLevel(4);">4</span>]</div><table class="directory">
<tr id="row_0_" class="even"><td class="entry"><img id="arr_0_" src="ftv2mnode.png" alt="o" width="16" height="22" onclick="toggleFolder('0_')"/><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classjsonv_1_1detail_1_1adapter__builder__dsl.html" target="_self">jsonv::detail::adapter_builder_dsl&lt; T &gt;</a></td><td class="desc"></td></tr>
<tr id="row_0_0_"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2lastnode.png" alt="\" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classjsonv_1_1member__adapter__builder.html" target="_self">jsonv::member_adapter_builder&lt; T, TMember &gt;</a></td><td class="desc"></td></tr>
<tr id="row_1_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classjsonv_1_1detail_1_1basic__owner.html" target="_self">jsonv::detail::basic_owner&lt; T &gt;</a></td><td class="desc">Something that owns an object </td></tr>
<tr id="row_2_"><td class="entry"><img id="arr_2_" src="ftv2mnode.png" alt="o" width="16" height="22" onclick="toggleFolder('2_')"/><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classjsonv_1_1detail_1_1basic__owner.html" target="_self">jsonv::detail::basic_owner&lt; TContainer &gt;</a></td><td class="desc"></td></tr>
<tr id="row_2_0_" class="even"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2lastnode.png" alt="\" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classjsonv_1_1detail_1_1basic__owning__view.html" target="_self">jsonv::detail::basic_owning_view&lt; TContainer, TIterator, TConstIterator &gt;</a></td><td class="desc">A form of <a class="el" href="classjsonv_1_1detail_1_1basic__view.html" title="A view template used for array and object views of a value. ">basic_view</a> that owns the object it is iterating over </td></tr>
<tr id="row_3_"><td class="entry"><img id="arr_3_" src="ftv2mnode.png" alt="o" width="16" height="22" onclick="toggleFolder('3_')"/><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classjsonv_1_1detail_1_1basic__view.html" target="_self">jsonv::detail::basic_view&lt; TIterator, TConstIterator &gt;</a></td><td class="desc">A view template used for array and object views of a <code>value</code> </td></tr>
<tr id="row_3_0_" class="even"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2lastnode.png" alt="\" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classjsonv_1_1detail_1_1basic__owning__view.html" target="_self">jsonv::detail::basic_owning_view&lt; TContainer, TIterator, TConstIterator &gt;</a></td><td class="desc">A form of <a class="el" href="classjsonv_1_1detail_1_1basic__view.html" title="A view template used for array and object views of a value. ">basic_view</a> that owns the object it is iterating over </td></tr>
<tr id="row_4_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="structjsonv_1_1compare__traits.html" target="_self">jsonv::compare_traits</a></td><td class="desc">Traits describing how to perform various aspects of comparison </td></tr>
<tr id="row_5_" class="even"><td class="entry"><img id="arr_5_" src="ftv2mnode.png" alt="o" width="16" height="22" onclick="toggleFolder('5_')"/><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classjsonv_1_1context__base.html" target="_self">jsonv::context_base</a></td><td class="desc">Provides extra information to routines used for extraction </td></tr>
<tr id="row_5_0_"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classjsonv_1_1extraction__context.html" target="_self">jsonv::extraction_context</a></td><td class="desc"></td></tr>
<tr id="row_5_1_" class="even"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2lastnode.png" alt="\" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classjsonv_1_1serialization__context.html" target="_self">jsonv::serialization_context</a></td><td class="desc"></td></tr>
<tr id="row_6_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="group__Algorithm.html#structjsonv_1_1diff__result" target="_self">jsonv::diff_result</a></td><td class="desc">The results of the <code>diff</code> operation </td></tr>
<tr id="row_7_" class="even"><td class="entry"><img id="arr_7_" src="ftv2mnode.png" alt="o" width="16" height="22" onclick="toggleFolder('7_')"/><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classjsonv_1_1encoder.html" target="_self">jsonv::encoder</a></td><td class="desc">An encoder is responsible for writing values to some form of output </td></tr>
<tr id="row_7_0_"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img id="arr_7_0_" src="ftv2mlastnode.png" alt="\" width="16" height="22" onclick="toggleFolder('7_0_')"/><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classjsonv_1_1ostream__encoder.html" target="_self">jsonv::ostream_encoder</a></td><td class="desc">An encoder that outputs to an <code>std::ostream</code> </td></tr>
<tr id="row_7_0_0_" class="even"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2lastnode.png" alt="\" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classjsonv_1_1ostream__pretty__encoder.html" target="_self">jsonv::ostream_pretty_encoder</a></td><td class="desc"></td></tr>
<tr id="row_8_"><td class="entry"><img id="arr_8_" src="ftv2mnode.png" alt="o" width="16" height="22" onclick="toggleFolder('8_')"/><img src="ftv2cl.png" alt="C" width="24" height="22" /><b>std::exception</b></td><td class="desc">STL class </td></tr>
<tr id="row_8_0_" class="even"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img id="arr_8_0_" src="ftv2mnode.png" alt="o" width="16" height="22" onclick="toggleFolder('8_0_')"/><img src="ftv2cl.png" alt="C" width="24" height="22" /><b>std::logic_error</b></td><td class="desc">STL class </td></tr>
<tr id="row_8_0_0_"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2lastnode.png" alt="\" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classjsonv_1_1kind__error.html" target="_self">jsonv::kind_error</a></td><td class="desc">Thrown from various <code>value</code> methods when attempting to perform an operation which is not valid for the <code>kind</code> of value </td></tr>
<tr id="row_8_1_" class="even"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img id="arr_8_1_" src="ftv2mlastnode.png" alt="\" width="16" height="22" onclick="toggleFolder('8_1_')"/><img src="ftv2cl.png" alt="C" width="24" height="22" /><b>std::runtime_error</b></td><td class="desc">STL class </td></tr>
<tr id="row_8_1_0_"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classjsonv_1_1extraction__error.html" target="_self">jsonv::extraction_error</a></td><td class="desc">Exception thrown if there is any problem running <code>extract</code> </td></tr>
<tr id="row_8_1_1_" class="even"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classjsonv_1_1no__extractor.html" target="_self">jsonv::no_extractor</a></td><td class="desc">Thrown when <code><a class="el" href="classjsonv_1_1formats.html#a4f5ccf3fbaf50aee040a6dbaa3859447" title="Extract the provided type from a value into an area of memory. ">formats::extract</a></code> does not have an <code>extractor</code> for the provided type </td></tr>
<tr id="row_8_1_2_"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classjsonv_1_1no__serializer.html" target="_self">jsonv::no_serializer</a></td><td class="desc">Thrown when <code><a class="el" href="classjsonv_1_1formats.html#afd80a13509c2d95d3ea2053e57a85d8a" title="Encode the provided value from into a JSON value. ">formats::to_json</a></code> does not have a <code>serializer</code> for the provided type </td></tr>
<tr id="row_8_1_3_" class="even"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classjsonv_1_1parse__error.html" target="_self">jsonv::parse_error</a></td><td class="desc">An error encountered when parsing </td></tr>
<tr id="row_8_1_4_"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2lastnode.png" alt="\" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classjsonv_1_1validation__error.html" target="_self">jsonv::validation_error</a></td><td class="desc">Error thrown when an unrepresentable value is encountered in a JSON AST </td></tr>
<tr id="row_9_" class="even"><td class="entry"><img id="arr_9_" src="ftv2mnode.png" alt="o" width="16" height="22" onclick="toggleFolder('9_')"/><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classjsonv_1_1extractor.html" target="_self">jsonv::extractor</a></td><td class="desc">An <code>extractor</code> holds the method for converting a <code>value</code> into an arbitrary C++ type </td></tr>
<tr id="row_9_0_"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img id="arr_9_0_" src="ftv2mnode.png" alt="o" width="16" height="22" onclick="toggleFolder('9_0_')"/><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classjsonv_1_1adapter.html" target="_self">jsonv::adapter</a></td><td class="desc">An <code>adapter</code> is both an <code>extractor</code> and a <code>serializer</code> </td></tr>
<tr id="row_9_0_0_" class="even"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img id="arr_9_0_0_" src="ftv2mnode.png" alt="o" width="16" height="22" onclick="toggleFolder('9_0_0_')"/><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classjsonv_1_1adapter__for.html" target="_self">jsonv::adapter_for&lt; optional&lt; T &gt; &gt;</a></td><td class="desc"></td></tr>
<tr id="row_9_0_0_0_"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2lastnode.png" alt="\" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classjsonv_1_1container__adapter_3_01optional_3_01T_01_4_01_4.html" target="_self">jsonv::container_adapter&lt; optional&lt; T &gt; &gt;</a></td><td class="desc"></td></tr>
<tr id="row_9_0_1_" class="even"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img id="arr_9_0_1_" src="ftv2mnode.png" alt="o" width="16" height="22" onclick="toggleFolder('9_0_1_')"/><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classjsonv_1_1adapter__for.html" target="_self">jsonv::adapter_for&lt; TContainer &gt;</a></td><td class="desc"></td></tr>
<tr id="row_9_0_1_0_"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2lastnode.png" alt="\" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classjsonv_1_1container__adapter.html" target="_self">jsonv::container_adapter&lt; TContainer &gt;</a></td><td class="desc">An adapter for container types </td></tr>
<tr id="row_9_0_2_" class="even"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img id="arr_9_0_2_" src="ftv2mnode.png" alt="o" width="16" height="22" onclick="toggleFolder('9_0_2_')"/><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classjsonv_1_1adapter__for.html" target="_self">jsonv::adapter_for&lt; TEnum &gt;</a></td><td class="desc"></td></tr>
<tr id="row_9_0_2_0_"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2lastnode.png" alt="\" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classjsonv_1_1enum__adapter.html" target="_self">jsonv::enum_adapter&lt; TEnum, FEnumComp, FValueComp &gt;</a></td><td class="desc">An adapter for enumeration types </td></tr>
<tr id="row_9_0_3_" class="even"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img id="arr_9_0_3_" src="ftv2mnode.png" alt="o" width="16" height="22" onclick="toggleFolder('9_0_3_')"/><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classjsonv_1_1adapter__for.html" target="_self">jsonv::adapter_for&lt; TOptional &gt;</a></td><td class="desc"></td></tr>
<tr id="row_9_0_3_0_"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2lastnode.png" alt="\" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classjsonv_1_1optional__adapter.html" target="_self">jsonv::optional_adapter&lt; TOptional &gt;</a></td><td class="desc">An adapter for optional-like types </td></tr>
<tr id="row_9_0_4_" class="even"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img id="arr_9_0_4_" src="ftv2mnode.png" alt="o" width="16" height="22" onclick="toggleFolder('9_0_4_')"/><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classjsonv_1_1adapter__for.html" target="_self">jsonv::adapter_for&lt; TPointer &gt;</a></td><td class="desc"></td></tr>
<tr id="row_9_0_4_0_"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2lastnode.png" alt="\" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classjsonv_1_1polymorphic__adapter.html" target="_self">jsonv::polymorphic_adapter&lt; TPointer &gt;</a></td><td class="desc">An adapter which can create polymorphic types </td></tr>
<tr id="row_9_0_5_" class="even"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img id="arr_9_0_5_" src="ftv2mnode.png" alt="o" width="16" height="22" onclick="toggleFolder('9_0_5_')"/><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classjsonv_1_1adapter__for.html" target="_self">jsonv::adapter_for&lt; TWrapper &gt;</a></td><td class="desc"></td></tr>
<tr id="row_9_0_5_0_"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2lastnode.png" alt="\" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classjsonv_1_1wrapper__adapter.html" target="_self">jsonv::wrapper_adapter&lt; TWrapper &gt;</a></td><td class="desc">An adapter for "wrapper" types </td></tr>
<tr id="row_9_0_6_" class="even"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img id="arr_9_0_6_" src="ftv2mlastnode.png" alt="\" width="16" height="22" onclick="toggleFolder('9_0_6_')"/><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classjsonv_1_1adapter__for.html" target="_self">jsonv::adapter_for&lt; T &gt;</a></td><td class="desc"></td></tr>
<tr id="row_9_0_6_0_"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2lastnode.png" alt="\" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classjsonv_1_1function__adapter.html" target="_self">jsonv::function_adapter&lt; T, FExtract, FToJson &gt;</a></td><td class="desc"></td></tr>
<tr id="row_9_1_" class="even"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classjsonv_1_1extractor__construction.html" target="_self">jsonv::extractor_construction&lt; T &gt;</a></td><td class="desc"></td></tr>
<tr id="row_9_2_"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img id="arr_9_2_" src="ftv2mlastnode.png" alt="\" width="16" height="22" onclick="toggleFolder('9_2_')"/><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classjsonv_1_1extractor__for.html" target="_self">jsonv::extractor_for&lt; T &gt;</a></td><td class="desc"></td></tr>
<tr id="row_9_2_0_" class="even"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2lastnode.png" alt="\" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classjsonv_1_1function__extractor.html" target="_self">jsonv::function_extractor&lt; T, FExtract &gt;</a></td><td class="desc"></td></tr>
<tr id="row_10_"><td class="entry"><img id="arr_10_" src="ftv2mnode.png" alt="o" width="16" height="22" onclick="toggleFolder('10_')"/><img src="ftv2cl.png" alt="C" width="24" height="22" /><b>FCompare</b></td><td class="desc"></td></tr>
<tr id="row_10_0_" class="even"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2lastnode.png" alt="\" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="structjsonv_1_1basic__value__binary__predicate.html" target="_self">jsonv::basic_value_binary_predicate&lt; FCompare, FResult &gt;</a></td><td class="desc"></td></tr>
<tr id="row_11_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classjsonv_1_1formats.html" target="_self">jsonv::formats</a></td><td class="desc">Simply put, this class is a collection of <code>extractor</code> and <code>serializer</code> instances </td></tr>
<tr id="row_12_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classjsonv_1_1formats__builder.html" target="_self">jsonv::formats_builder</a></td><td class="desc"></td></tr>
<tr id="row_13_"><td class="entry"><img id="arr_13_" src="ftv2mnode.png" alt="o" width="16" height="22" onclick="toggleFolder('13_')"/><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classjsonv_1_1detail_1_1formats__builder__dsl.html" target="_self">jsonv::detail::formats_builder_dsl</a></td><td class="desc"></td></tr>
<tr id="row_13_0_" class="even"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classjsonv_1_1adapter__builder.html" target="_self">jsonv::adapter_builder&lt; T &gt;</a></td><td class="desc"></td></tr>
<tr id="row_13_1_"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classjsonv_1_1member__adapter__builder.html" target="_self">jsonv::member_adapter_builder&lt; T, TMember &gt;</a></td><td class="desc"></td></tr>
<tr id="row_13_2_" class="even"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2lastnode.png" alt="\" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classjsonv_1_1polymorphic__adapter__builder.html" target="_self">jsonv::polymorphic_adapter_builder&lt; TPointer &gt;</a></td><td class="desc"></td></tr>
<tr id="row_14_"><td class="entry"><img id="arr_14_" src="ftv2mnode.png" alt="o" width="16" height="22" onclick="toggleFolder('14_')"/><img src="ftv2cl.png" alt="C" width="24" height="22" /><b>FResult</b></td><td class="desc"></td></tr>
<tr id="row_14_0_" class="even"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2lastnode.png" alt="\" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="structjsonv_1_1basic__value__binary__predicate.html" target="_self">jsonv::basic_value_binary_predicate&lt; FCompare, FResult &gt;</a></td><td class="desc"></td></tr>
<tr id="row_15_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classjsonv_1_1detail_1_1generic__container.html" target="_self">jsonv::detail::generic_container&lt; TStorage &gt;</a></td><td class="desc">A generic container that exposes the traversal and modification operations externally </td></tr>
<tr id="row_16_" class="even"><td class="entry"><img id="arr_16_" src="ftv2mnode.png" alt="o" width="16" height="22" onclick="toggleFolder('16_')"/><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classjsonv_1_1detail_1_1generic__container.html" target="_self">jsonv::detail::generic_container&lt; std::vector&lt; path_element &gt; &gt;</a></td><td class="desc"></td></tr>
<tr id="row_16_0_"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2lastnode.png" alt="\" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classjsonv_1_1path.html" target="_self">jsonv::path</a></td><td class="desc">Represents an exact path in some JSON structure </td></tr>
<tr id="row_17_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="structstd_1_1hash_3_01jsonv_1_1value_01_4.html" target="_self">std::hash&lt; jsonv::value &gt;</a></td><td class="desc">Explicit specialization of <code>std::hash</code> for <code><a class="el" href="classjsonv_1_1value.html" title="Represents a single JSON value, which can be any one of a potential kind, each behaving slightly diff...">jsonv::value</a></code> types so you can store a <code>value</code> in an unordered container </td></tr>
<tr id="row_18_"><td class="entry"><img id="arr_18_" src="ftv2mnode.png" alt="o" width="16" height="22" onclick="toggleFolder('18_')"/><img src="ftv2cl.png" alt="C" width="24" height="22" /><b>iterator</b></td><td class="desc"></td></tr>
<tr id="row_18_0_" class="even"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="structjsonv_1_1value_1_1basic__object__iterator.html" target="_self">jsonv::value::basic_object_iterator&lt; const object_value_type, std::map&lt; std::string, value &gt;::const_iterator &gt;</a></td><td class="desc"></td></tr>
<tr id="row_18_1_"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="structjsonv_1_1value_1_1basic__array__iterator.html" target="_self">jsonv::value::basic_array_iterator&lt; T, TArrayView &gt;</a></td><td class="desc">The base type for iterating over array values </td></tr>
<tr id="row_18_2_" class="even"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2lastnode.png" alt="\" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="structjsonv_1_1value_1_1basic__object__iterator.html" target="_self">jsonv::value::basic_object_iterator&lt; T, TIterator &gt;</a></td><td class="desc">The base iterator type for iterating over object types </td></tr>
<tr id="row_19_"><td class="entry"><img id="arr_19_" src="ftv2mnode.png" alt="o" width="16" height="22" onclick="toggleFolder('19_')"/><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classjsonv_1_1detail_1_1member__adapter.html" target="_self">jsonv::detail::member_adapter&lt; T &gt;</a></td><td class="desc"></td></tr>
<tr id="row_19_0_" class="even"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2lastnode.png" alt="\" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classjsonv_1_1detail_1_1member__adapter__impl.html" target="_self">jsonv::detail::member_adapter_impl&lt; T, TMember &gt;</a></td><td class="desc"></td></tr>
<tr id="row_20_"><td class="entry"><img id="arr_20_" src="ftv2mnode.png" alt="o" width="16" height="22" onclick="toggleFolder('20_')"/><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classjsonv_1_1merge__rules.html" target="_self">jsonv::merge_rules</a></td><td class="desc">This class is used in <code>merge_explicit</code> for defining what the function should do in the cases of conflicts </td></tr>
<tr id="row_20_0_" class="even"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classjsonv_1_1dynamic__merge__rules.html" target="_self">jsonv::dynamic_merge_rules</a></td><td class="desc">An implementation of <code><a class="el" href="classjsonv_1_1merge__rules.html" title="This class is used in merge_explicit for defining what the function should do in the cases of conflic...">merge_rules</a></code> that allows you to bind whatever functions you want to resolve conflicts </td></tr>
<tr id="row_20_1_"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classjsonv_1_1recursive__merge__rules.html" target="_self">jsonv::recursive_merge_rules</a></td><td class="desc">These rules will recursively merge everything they can and coerce all values </td></tr>
<tr id="row_20_2_" class="even"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2lastnode.png" alt="\" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classjsonv_1_1throwing__merge__rules.html" target="_self">jsonv::throwing_merge_rules</a></td><td class="desc">These rules throw an exception on all conflicts </td></tr>
<tr id="row_21_"><td class="entry"><img id="arr_21_" src="ftv2mnode.png" alt="o" width="16" height="22" onclick="toggleFolder('21_')"/><img src="ftv2cl.png" alt="C" width="24" height="22" /><b>nested_exception</b></td><td class="desc"></td></tr>
<tr id="row_21_0_" class="even"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2lastnode.png" alt="\" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classjsonv_1_1extraction__error.html" target="_self">jsonv::extraction_error</a></td><td class="desc">Exception thrown if there is any problem running <code>extract</code> </td></tr>
<tr id="row_22_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classjsonv_1_1value.html#structjsonv_1_1value_1_1object__insert__return__type" target="_self">jsonv::value::object_insert_return_type</a></td><td class="desc">Type returned from <code>insert</code> operations when this has kind::object </td></tr>
<tr id="row_23_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classjsonv_1_1object__node__handle.html" target="_self">jsonv::object_node_handle</a></td><td class="desc">A <a href="http://en.cppreference.com/w/cpp/container/node_handle">node handle</a> used when a value is kind::object to access elements of the object in potentially destructive manner </td></tr>
<tr id="row_24_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classjsonv_1_1parse__options.html" target="_self">jsonv::parse_options</a></td><td class="desc">Configuration for various parsing options </td></tr>
<tr id="row_25_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classjsonv_1_1path__element.html" target="_self">jsonv::path_element</a></td><td class="desc"></td></tr>
<tr id="row_26_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="structjsonv_1_1parse__error_1_1problem.html" target="_self">jsonv::parse_error::problem</a></td><td class="desc">Description of a single parsing problem </td></tr>
<tr id="row_27_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classjsonv_1_1detail_1_1scope__exit__invoker.html" target="_self">jsonv::detail::scope_exit_invoker&lt; Function &gt;</a></td><td class="desc"></td></tr>
<tr id="row_28_"><td class="entry"><img id="arr_28_" src="ftv2mnode.png" alt="o" width="16" height="22" onclick="toggleFolder('28_')"/><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classjsonv_1_1serializer.html" target="_self">jsonv::serializer</a></td><td class="desc">A <code>serializer</code> holds the method for converting an arbitrary C++ type into a <code>value</code> </td></tr>
<tr id="row_28_0_" class="even"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classjsonv_1_1adapter.html" target="_self">jsonv::adapter</a></td><td class="desc">An <code>adapter</code> is both an <code>extractor</code> and a <code>serializer</code> </td></tr>
<tr id="row_28_1_"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img id="arr_28_1_" src="ftv2mlastnode.png" alt="\" width="16" height="22" onclick="toggleFolder('28_1_')"/><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classjsonv_1_1serializer__for.html" target="_self">jsonv::serializer_for&lt; T &gt;</a></td><td class="desc"></td></tr>
<tr id="row_28_1_0_" class="even"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2lastnode.png" alt="\" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classjsonv_1_1function__serializer.html" target="_self">jsonv::function_serializer&lt; T, FToJson &gt;</a></td><td class="desc"></td></tr>
<tr id="row_29_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classjsonv_1_1detail_1_1string__view.html" target="_self">jsonv::detail::string_view</a></td><td class="desc">A non-owning reference to an <code>std::string</code>, as proposed to the C++ Standard Committee by Jeffrey Yasskin in N3921 (<a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2014/n3921.html">http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2014/n3921.html</a>) </td></tr>
<tr id="row_30_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="structjsonv_1_1tokenizer_1_1token.html" target="_self">jsonv::tokenizer::token</a></td><td class="desc">A representation of what this tokenizer has </td></tr>
<tr id="row_31_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classjsonv_1_1tokenizer.html" target="_self">jsonv::tokenizer</a></td><td class="desc">Splits input into tokens, allowing traversal of JSON without verification </td></tr>
<tr id="row_32_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classjsonv_1_1value.html" target="_self">jsonv::value</a></td><td class="desc">Represents a single JSON value, which can be any one of a potential <code>kind</code>, each behaving slightly differently </td></tr>
<tr id="row_33_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="structjsonv_1_1value__compare.html" target="_self">jsonv::value_compare</a></td><td class="desc">Compares a <code>value</code> to another using the standard-issue <code><a class="el" href="classjsonv_1_1value.html#a05f2fca552d114e678040be40c8cbc06" title="Used to build a strict-ordering of JSON values. ">value::compare</a></code> function </td></tr>
<tr id="row_34_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="structjsonv_1_1value__compare__icase.html" target="_self">jsonv::value_compare_icase</a></td><td class="desc">Compares two values, ignoring the case for any <code>value</code> with <code>kind::string</code> </td></tr>
<tr id="row_35_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="unionjsonv_1_1detail_1_1value__storage.html" target="_self">jsonv::detail::value_storage</a></td><td class="desc"></td></tr>
<tr id="row_36_" class="even"><td class="entry"><img src="ftv2lastnode.png" alt="\" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="structjsonv_1_1version.html" target="_self">jsonv::version</a></td><td class="desc">Represents a version used to extract and encode JSON objects from C++ classes </td></tr>
</table>
</div><!-- directory -->
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
  <ul>
    <li class="footer">Generated by
    <a href="http://www.doxygen.org/index.html">
    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.6 </li>
  </ul>
</div>
</body>
</html>
